<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Aria: ArActionJoydrive Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aria
   &#160;<span id="projectnumber">2.9.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArActionJoydrive.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArActionJoydrive-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArActionJoydrive Class Reference<div class="ingroups"><a class="el" href="group__ActionClasses.html">Predefined ArAction Classes</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>This action will use the joystick for input to drive the robot.  
 <a href="classArActionJoydrive.html#details">More...</a></p>

<p><code>#include &lt;ArActionJoydrive.h&gt;</code></p>

<p>Inherits <a class="el" href="classArAction.html">ArAction</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5796b4d6a3f260312e68982267beb8d4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArActionJoydrive.html#a5796b4d6a3f260312e68982267beb8d4">ArActionJoydrive</a> (const char *name=&quot;joydrive&quot;, double transVelMax=400, double turnAmountMax=15, bool stopIfNoButtonPressed=true, bool useOSCalForJoystick=true)</td></tr>
<tr class="memdesc:a5796b4d6a3f260312e68982267beb8d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a5796b4d6a3f260312e68982267beb8d4">More...</a><br /></td></tr>
<tr class="separator:a5796b4d6a3f260312e68982267beb8d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8701e7416c59072351536f479f4d2c8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af8701e7416c59072351536f479f4d2c8"></a>
virtual <a class="el" href="classArActionDesired.html">ArActionDesired</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>fire</b> (<a class="el" href="classArActionDesired.html">ArActionDesired</a> currentDesired)</td></tr>
<tr class="separator:af8701e7416c59072351536f479f4d2c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0b99869cda7e88e38f7923718e32778"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0b99869cda7e88e38f7923718e32778"></a>
virtual <a class="el" href="classArActionDesired.html">ArActionDesired</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>getDesired</b> (void)</td></tr>
<tr class="separator:ae0b99869cda7e88e38f7923718e32778"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63075f8b6166c3a299cb1b8005c2e14c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63075f8b6166c3a299cb1b8005c2e14c"></a>
virtual const <a class="el" href="classArActionDesired.html">ArActionDesired</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>getDesired</b> (void) const </td></tr>
<tr class="separator:a63075f8b6166c3a299cb1b8005c2e14c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bfb87ceded10e06d0b34052ca692711"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bfb87ceded10e06d0b34052ca692711"></a>
<a class="el" href="classArJoyHandler.html">ArJoyHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArActionJoydrive.html#a9bfb87ceded10e06d0b34052ca692711">getJoyHandler</a> (void)</td></tr>
<tr class="memdesc:a9bfb87ceded10e06d0b34052ca692711"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the joyHandler. <br /></td></tr>
<tr class="separator:a9bfb87ceded10e06d0b34052ca692711"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad054d118754418ced755b85489ac0b8c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad054d118754418ced755b85489ac0b8c"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArActionJoydrive.html#ad054d118754418ced755b85489ac0b8c">getStopIfNoButtonPressed</a> (void)</td></tr>
<tr class="memdesc:ad054d118754418ced755b85489ac0b8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get if we'll stop if no button is pressed, otherwise just do nothing. <br /></td></tr>
<tr class="separator:ad054d118754418ced755b85489ac0b8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa9cc09bc39a110bd6375b1dbccb67ec"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArActionJoydrive.html#afa9cc09bc39a110bd6375b1dbccb67ec">getUseOSCal</a> (void)</td></tr>
<tr class="memdesc:afa9cc09bc39a110bd6375b1dbccb67ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets whether OSCalibration is being used for the joystick or not.  <a href="#afa9cc09bc39a110bd6375b1dbccb67ec">More...</a><br /></td></tr>
<tr class="separator:afa9cc09bc39a110bd6375b1dbccb67ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadc5a4816e3c69bb0c7b57f72bbadde5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadc5a4816e3c69bb0c7b57f72bbadde5"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArActionJoydrive.html#aadc5a4816e3c69bb0c7b57f72bbadde5">joystickInited</a> (void)</td></tr>
<tr class="memdesc:aadc5a4816e3c69bb0c7b57f72bbadde5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether the joystick is initalized or not. <br /></td></tr>
<tr class="separator:aadc5a4816e3c69bb0c7b57f72bbadde5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06811cc5f29954696410ce18fd645f85"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06811cc5f29954696410ce18fd645f85"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArActionJoydrive.html#a06811cc5f29954696410ce18fd645f85">setSpeeds</a> (double transVelMax, double turnAmountMax)</td></tr>
<tr class="memdesc:a06811cc5f29954696410ce18fd645f85"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set Speeds. <br /></td></tr>
<tr class="separator:a06811cc5f29954696410ce18fd645f85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d2e8053a6a49487c5dbeadcbcc44556"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d2e8053a6a49487c5dbeadcbcc44556"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArActionJoydrive.html#a2d2e8053a6a49487c5dbeadcbcc44556">setStopIfNoButtonPressed</a> (bool stopIfNoButtonPressed)</td></tr>
<tr class="memdesc:a2d2e8053a6a49487c5dbeadcbcc44556"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set if we'll stop if no button is pressed, otherwise just do nothing. <br /></td></tr>
<tr class="separator:a2d2e8053a6a49487c5dbeadcbcc44556"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b07f959ebe2a6193c8c7f3aee98913f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b07f959ebe2a6193c8c7f3aee98913f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArActionJoydrive.html#a9b07f959ebe2a6193c8c7f3aee98913f">setThrottleParams</a> (double lowSpeed, double highSpeed)</td></tr>
<tr class="memdesc:a9b07f959ebe2a6193c8c7f3aee98913f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the params on the throttle (throttle unused unless you call this) <br /></td></tr>
<tr class="separator:a9b07f959ebe2a6193c8c7f3aee98913f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abde56674b5adc9d52ab1d0db362beb61"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArActionJoydrive.html#abde56674b5adc9d52ab1d0db362beb61">setUseOSCal</a> (bool useOSCal)</td></tr>
<tr class="memdesc:abde56674b5adc9d52ab1d0db362beb61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets whether to use OSCalibration the joystick or not.  <a href="#abde56674b5adc9d52ab1d0db362beb61">More...</a><br /></td></tr>
<tr class="separator:abde56674b5adc9d52ab1d0db362beb61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41e613b087e51236aa736335e6aba356"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a41e613b087e51236aa736335e6aba356"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArActionJoydrive.html#a41e613b087e51236aa736335e6aba356">~ArActionJoydrive</a> ()</td></tr>
<tr class="memdesc:a41e613b087e51236aa736335e6aba356"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a41e613b087e51236aa736335e6aba356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classArAction"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classArAction')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classArAction.html">ArAction</a></td></tr>
<tr class="memitem:a758f6d649620747c5fa743d4f7a8b53e inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a758f6d649620747c5fa743d4f7a8b53e"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a758f6d649620747c5fa743d4f7a8b53e">activate</a> (void)</td></tr>
<tr class="memdesc:a758f6d649620747c5fa743d4f7a8b53e inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activate the action. <br /></td></tr>
<tr class="separator:a758f6d649620747c5fa743d4f7a8b53e inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4341cda2464899c839e370b514af929b inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4341cda2464899c839e370b514af929b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a4341cda2464899c839e370b514af929b">ArAction</a> (const char *name, const char *description=&quot;&quot;)</td></tr>
<tr class="memdesc:a4341cda2464899c839e370b514af929b inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a4341cda2464899c839e370b514af929b inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeca3135308234a8224643541090bea2b inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeca3135308234a8224643541090bea2b"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#aeca3135308234a8224643541090bea2b">deactivate</a> (void)</td></tr>
<tr class="memdesc:aeca3135308234a8224643541090bea2b inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deactivate the action. <br /></td></tr>
<tr class="separator:aeca3135308234a8224643541090bea2b inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf64e5031c86d059500b93f402aa70d9 inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="classArArg.html">ArArg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#adf64e5031c86d059500b93f402aa70d9">getArg</a> (int number) const </td></tr>
<tr class="memdesc:adf64e5031c86d059500b93f402aa70d9 inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the numbered argument.  <a href="#adf64e5031c86d059500b93f402aa70d9">More...</a><br /></td></tr>
<tr class="separator:adf64e5031c86d059500b93f402aa70d9 inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6620d41b1e490476796696e8a70e7544 inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6620d41b1e490476796696e8a70e7544"></a>
virtual <a class="el" href="classArArg.html">ArArg</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a6620d41b1e490476796696e8a70e7544">getArg</a> (int number)</td></tr>
<tr class="memdesc:a6620d41b1e490476796696e8a70e7544 inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the numbered argument. <br /></td></tr>
<tr class="separator:a6620d41b1e490476796696e8a70e7544 inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a19edfe254b794aa2dddb163d095905 inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a19edfe254b794aa2dddb163d095905"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a5a19edfe254b794aa2dddb163d095905">getDescription</a> (void) const </td></tr>
<tr class="memdesc:a5a19edfe254b794aa2dddb163d095905 inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the long description of the action. <br /></td></tr>
<tr class="separator:a5a19edfe254b794aa2dddb163d095905 inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77fd754d342d7662090f462e27971e08 inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a77fd754d342d7662090f462e27971e08"></a>
virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a77fd754d342d7662090f462e27971e08">getName</a> (void) const </td></tr>
<tr class="memdesc:a77fd754d342d7662090f462e27971e08 inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the name of the action. <br /></td></tr>
<tr class="separator:a77fd754d342d7662090f462e27971e08 inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a512f3a727095b1240f30558d32fe0f5b inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a512f3a727095b1240f30558d32fe0f5b"></a>
virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a512f3a727095b1240f30558d32fe0f5b">getNumArgs</a> (void) const </td></tr>
<tr class="memdesc:a512f3a727095b1240f30558d32fe0f5b inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find the number of arguments this action takes. <br /></td></tr>
<tr class="separator:a512f3a727095b1240f30558d32fe0f5b inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae62a517795a31625bf3a2bb2ea8abac0 inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae62a517795a31625bf3a2bb2ea8abac0"></a>
<a class="el" href="classArRobot.html">ArRobot</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#ae62a517795a31625bf3a2bb2ea8abac0">getRobot</a> () const </td></tr>
<tr class="memdesc:ae62a517795a31625bf3a2bb2ea8abac0 inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the robot we are controlling, which was set by <a class="el" href="classArAction.html#a51b27da0403d43cd916cbf49ba7ddc23" title="Sets the robot this action is driving. ">setRobot()</a> <br /></td></tr>
<tr class="separator:ae62a517795a31625bf3a2bb2ea8abac0 inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72db278f558206fdec03cbc15ac72104 inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72db278f558206fdec03cbc15ac72104"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a72db278f558206fdec03cbc15ac72104">isActive</a> (void) const </td></tr>
<tr class="memdesc:a72db278f558206fdec03cbc15ac72104 inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the action is active or not. <br /></td></tr>
<tr class="separator:a72db278f558206fdec03cbc15ac72104 inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e1aaaf9de9b50f7732043a3772f53d7 inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e1aaaf9de9b50f7732043a3772f53d7"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a5e1aaaf9de9b50f7732043a3772f53d7">log</a> (bool verbose=true) const </td></tr>
<tr class="memdesc:a5e1aaaf9de9b50f7732043a3772f53d7 inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log information about this action using <a class="el" href="classArLog.html" title="Logging utility class. ">ArLog</a>. <br /></td></tr>
<tr class="separator:a5e1aaaf9de9b50f7732043a3772f53d7 inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51b27da0403d43cd916cbf49ba7ddc23 inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a51b27da0403d43cd916cbf49ba7ddc23">setRobot</a> (<a class="el" href="classArRobot.html">ArRobot</a> *robot)</td></tr>
<tr class="memdesc:a51b27da0403d43cd916cbf49ba7ddc23 inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the robot this action is driving.  <a href="#a51b27da0403d43cd916cbf49ba7ddc23">More...</a><br /></td></tr>
<tr class="separator:a51b27da0403d43cd916cbf49ba7ddc23 inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05bc460d965589515a007f136a03d15a inherit pub_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05bc460d965589515a007f136a03d15a"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a05bc460d965589515a007f136a03d15a">~ArAction</a> ()</td></tr>
<tr class="memdesc:a05bc460d965589515a007f136a03d15a inherit pub_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Desructor. <br /></td></tr>
<tr class="separator:a05bc460d965589515a007f136a03d15a inherit pub_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ad26535b0822da4fb88579418a26671ba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad26535b0822da4fb88579418a26671ba"></a>
<a class="el" href="classArActionDesired.html">ArActionDesired</a>&#160;</td><td class="memItemRight" valign="bottom"><b>myDesired</b></td></tr>
<tr class="separator:ad26535b0822da4fb88579418a26671ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a253da9c30d7dcbd4a55d10dc63458678"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a253da9c30d7dcbd4a55d10dc63458678"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>myHighThrottle</b></td></tr>
<tr class="separator:a253da9c30d7dcbd4a55d10dc63458678"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a717164ac53a27e9265abc10b349e56c6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a717164ac53a27e9265abc10b349e56c6"></a>
<a class="el" href="classArJoyHandler.html">ArJoyHandler</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>myJoyHandler</b></td></tr>
<tr class="separator:a717164ac53a27e9265abc10b349e56c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a526b9ead69d89471af564560c103a91c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a526b9ead69d89471af564560c103a91c"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>myLowThrottle</b></td></tr>
<tr class="separator:a526b9ead69d89471af564560c103a91c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a10af7f3f7dcab6d1dba5f5b532ea58"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a10af7f3f7dcab6d1dba5f5b532ea58"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myPreviousUseOSCal</b></td></tr>
<tr class="separator:a6a10af7f3f7dcab6d1dba5f5b532ea58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46d994794e038e62774d053098e921b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46d994794e038e62774d053098e921b7"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myStopIfNoButtonPressed</b></td></tr>
<tr class="separator:a46d994794e038e62774d053098e921b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4fb76a98ba0dbf43e21fa0ca17db8da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad4fb76a98ba0dbf43e21fa0ca17db8da"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>myTransVelMax</b></td></tr>
<tr class="separator:ad4fb76a98ba0dbf43e21fa0ca17db8da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf97215aafaf15a3b504414b79d17a9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf97215aafaf15a3b504414b79d17a9a"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>myTurnAmountMax</b></td></tr>
<tr class="separator:abf97215aafaf15a3b504414b79d17a9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42966e7cecd24cae1994ea66803b906e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42966e7cecd24cae1994ea66803b906e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myUseOSCal</b></td></tr>
<tr class="separator:a42966e7cecd24cae1994ea66803b906e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4b05b37d5582ec1fac50ff126305ebd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4b05b37d5582ec1fac50ff126305ebd"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myUseThrottle</b></td></tr>
<tr class="separator:aa4b05b37d5582ec1fac50ff126305ebd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classArAction"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classArAction')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classArAction.html">ArAction</a></td></tr>
<tr class="memitem:a70d443457e6f0b80b434530c7d987b3f inherit pro_attribs_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70d443457e6f0b80b434530c7d987b3f"></a>
std::map&lt; int, <a class="el" href="classArArg.html">ArArg</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>myArgumentMap</b></td></tr>
<tr class="separator:a70d443457e6f0b80b434530c7d987b3f inherit pro_attribs_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ca1ce8c5a89ee6f0c4ee79d2f534984 inherit pro_attribs_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ca1ce8c5a89ee6f0c4ee79d2f534984"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>myDescription</b></td></tr>
<tr class="separator:a3ca1ce8c5a89ee6f0c4ee79d2f534984 inherit pro_attribs_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af20f687ef5e108741edc2a5848700271 inherit pro_attribs_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af20f687ef5e108741edc2a5848700271"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myIsActive</b></td></tr>
<tr class="separator:af20f687ef5e108741edc2a5848700271 inherit pro_attribs_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0ebdaed2cabe36c51e9b995406fdb1d inherit pro_attribs_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0ebdaed2cabe36c51e9b995406fdb1d"></a>
std::string&#160;</td><td class="memItemRight" valign="bottom"><b>myName</b></td></tr>
<tr class="separator:ad0ebdaed2cabe36c51e9b995406fdb1d inherit pro_attribs_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20f29d8774f45e3508211c39e2afb9ce inherit pro_attribs_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20f29d8774f45e3508211c39e2afb9ce"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myNumArgs</b></td></tr>
<tr class="separator:a20f29d8774f45e3508211c39e2afb9ce inherit pro_attribs_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a265851e04729e51a2a72d1ab4f1c5ed8 inherit pro_attribs_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a265851e04729e51a2a72d1ab4f1c5ed8"></a>
<a class="el" href="classArRobot.html">ArRobot</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a265851e04729e51a2a72d1ab4f1c5ed8">myRobot</a></td></tr>
<tr class="memdesc:a265851e04729e51a2a72d1ab4f1c5ed8 inherit pro_attribs_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">The robot we are controlling, set by the action resolver using <a class="el" href="classArAction.html#a51b27da0403d43cd916cbf49ba7ddc23" title="Sets the robot this action is driving. ">setRobot()</a> <br /></td></tr>
<tr class="separator:a265851e04729e51a2a72d1ab4f1c5ed8 inherit pro_attribs_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_classArAction"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classArAction')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classArAction.html">ArAction</a></td></tr>
<tr class="memitem:aceff6f8ad785ab52a79c6d847ed0ea61 inherit pub_static_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aceff6f8ad785ab52a79c6d847ed0ea61"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#aceff6f8ad785ab52a79c6d847ed0ea61">getDefaultActivationState</a> (void)</td></tr>
<tr class="memdesc:aceff6f8ad785ab52a79c6d847ed0ea61 inherit pub_static_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the default activation state for all ArActions. <br /></td></tr>
<tr class="separator:aceff6f8ad785ab52a79c6d847ed0ea61 inherit pub_static_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3543892f92fbbfa9bb3f9e0b0d199f51 inherit pub_static_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3543892f92fbbfa9bb3f9e0b0d199f51"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#a3543892f92fbbfa9bb3f9e0b0d199f51">setDefaultActivationState</a> (bool defaultActivationState)</td></tr>
<tr class="memdesc:a3543892f92fbbfa9bb3f9e0b0d199f51 inherit pub_static_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the default activation state for all ArActions. <br /></td></tr>
<tr class="separator:a3543892f92fbbfa9bb3f9e0b0d199f51 inherit pub_static_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classArAction"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classArAction')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classArAction.html">ArAction</a></td></tr>
<tr class="memitem:ad6e1c757a5232752a9b05b18e8ef5091 inherit pro_methods_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad6e1c757a5232752a9b05b18e8ef5091"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArAction.html#ad6e1c757a5232752a9b05b18e8ef5091">setNextArgument</a> (<a class="el" href="classArArg.html">ArArg</a> const &amp;arg)</td></tr>
<tr class="memdesc:ad6e1c757a5232752a9b05b18e8ef5091 inherit pro_methods_classArAction"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the argument type for the next argument (must only be used in a constructor!) <br /></td></tr>
<tr class="separator:ad6e1c757a5232752a9b05b18e8ef5091 inherit pro_methods_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_attribs_classArAction"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_classArAction')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="classArAction.html">ArAction</a></td></tr>
<tr class="memitem:a5335a29c1c08e3fa97228635b38986fe inherit pro_static_attribs_classArAction"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5335a29c1c08e3fa97228635b38986fe"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>ourDefaultActivationState</b> = true</td></tr>
<tr class="separator:a5335a29c1c08e3fa97228635b38986fe inherit pro_static_attribs_classArAction"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This action will use the joystick for input to drive the robot. </p>
<p>This class creates its own <a class="el" href="classArJoyHandler.html" title="Interfaces to a computer joystick. ">ArJoyHandler</a> to get input from the joystick. Then it will scale the speed between 0 and the given max for velocity and turning, up and down on the joystick go forwards/backwards while right and left go right and left. You must press in one of the two joystick buttons for the class to pay attention to the joystick.</p>
<dl class="section note"><dt>Note</dt><dd>The joystick does not save calibration information, so you must calibrate the joystick before each time you use it. To do this, press the button for at least a half a second while the joystick is in the middle. Then let go of the button and hold the joystick in the upper left for at least a half second and then in the lower right corner for at least a half second. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="actionGroupExample_8cpp-example.html#_a20">actionGroupExample.cpp</a>, <a class="el" href="gpsRobotTaskExample_8cpp-example.html#_a24">gpsRobotTaskExample.cpp</a>, <a class="el" href="gripperExample_8cpp-example.html#_a36">gripperExample.cpp</a>, <a class="el" href="gyroExample_8cpp-example.html#_a19">gyroExample.cpp</a>, and <a class="el" href="teleopActionsExample_8cpp-example.html#_a16">teleopActionsExample.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a5796b4d6a3f260312e68982267beb8d4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ArActionJoydrive::ArActionJoydrive </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em> = <code>&quot;joydrive&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>transVelMax</em> = <code>400</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>turnAmountMax</em> = <code>15</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>stopIfNoButtonPressed</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>useOSCalForJoystick</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<p>This action is for driving around the robot with a joystick, you must hold in a button on the joystick and then lean the joytsick over to have it drive.</p>
<p>You may need to calibrate the joystick for it to work right, for details about this see <a class="el" href="classArJoyHandler.html" title="Interfaces to a computer joystick. ">ArJoyHandler</a>. If the <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> static class already has a joyhandler this class will use that otherwise it'll make and initialize one and use that (setting it in the <a class="el" href="classAria.html" title="Contains global initialization, deinitialization and other global functions. ">Aria</a> class)</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>the name of this action</td></tr>
    <tr><td class="paramname">transVelMax</td><td>the maximum velocity the joydrive action will go, it reachs this when the joystick is all the way forwards</td></tr>
    <tr><td class="paramname">turnAmountMax</td><td>the maximum amount the joydrive action will turn, it reachs this when the joystick is all the way forwards</td></tr>
    <tr><td class="paramname">stopIfNoButtonPressed</td><td>if this is true and there is a joystick and no button is pressed, the action will have the robot stop... otherwise it'll do nothing (letting lower priority actions fire)</td></tr>
    <tr><td class="paramname">useOSCalForJoystick</td><td>If true, then the existing OS calibration for the joystick will be used, otherwise our own autocalibration will be used. Default is true.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArJoyHandler.html#a8300efa2a57cebcc590fe360d3264f5d" title="Sets whether to just use OS calibration or not. ">ArJoyHandler::setUseOSCal()</a> </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="afa9cc09bc39a110bd6375b1dbccb67ec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ArActionJoydrive::getUseOSCal </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets whether OSCalibration is being used for the joystick or not. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArJoyHandler.html#a8057d05613ec0acf0ed8279c2d91f883" title="Gets whether to just use OS calibration or not. ">ArJoyHandler::getUseOSCal</a> </dd></dl>

</div>
</div>
<a class="anchor" id="abde56674b5adc9d52ab1d0db362beb61"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArActionJoydrive::setUseOSCal </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>useOSCal</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets whether to use OSCalibration the joystick or not. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classArJoyHandler.html#a8300efa2a57cebcc590fe360d3264f5d" title="Sets whether to just use OS calibration or not. ">ArJoyHandler::setUseOSCal</a> </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>ArActionJoydrive.h</li>
<li>ArActionJoydrive.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArActionJoydrive.html">ArActionJoydrive</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
